Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Search found 175 matches
Author Message
  Topic: ооп в пхп, я опять туплю, помогите, простой вопрос:)
amikhailov

Replies: 32
Views: 20693

PostForum: Разное :: PHP   Posted: Tue Jun 24, 2008 6:05 pm   Subject: ооп в пхп, я опять туплю, помогите, простой вопрос:)
Rumata
Изначально невозможно все спроектировать правильно, т.к. заказчик зачастую непредсказуем. Однако не припомню, чтобы я в последние два года танцевал с бубном, думая, как же можно расширить приложение под новые прихоти заказчика.

Статические методы - это один из способов жестко привязаться к определенному классу, и тем самым попросту отказаться от наследования и полиморфизма. Поэтому я предпочитаю использовать именно Locator с возможностью переопределения ServiceLocator::setInstance($newLocator), а не Registry.
  Topic: ооп в пхп, я опять туплю, помогите, простой вопрос:)
amikhailov

Replies: 32
Views: 20693

PostForum: Разное :: PHP   Posted: Tue Jun 24, 2008 2:45 pm   Subject: ооп в пхп, я опять туплю, помогите, простой вопрос:)
WingedFox
Тогда это будет Registry, а не Locator ) Я предпочитаю использовать локаторы, чтобы обойтись без статического связывания
  Topic: ооп в пхп, я опять туплю, помогите, простой вопрос:)
amikhailov

Replies: 32
Views: 20693

PostForum: Разное :: PHP   Posted: Tue Jun 24, 2008 10:34 am   Subject: ооп в пхп, я опять туплю, помогите, простой вопрос:)
Касаемо вопроса топикстартера. Можно создать класс ServiceLocator, реализующий следующий интерфейс:
interface ServiceLocator_Interface
{
/**
* @param string $serviceName
* @param object $serviceObject
* @return void
*/
public function addService($serviceName, $serviceObject);

/**
* @param string $serviceName
* @return object
*/
public function getService($serviceName);

/**
* Singleton pattern
*
* @return ServiceLocator
*/
public static function getInstance();
}

При создании экземпляра класса DB, к которому вам нужно иметь доступ из многих мест, вы добавляете в пул сервисов ваш объект:
$db = new DB();
ServiceLocator::getInstance()->addService('db', $db);

Использовать в методах так:
ServiceLocator::getInstance()->getService('db');

Интерфейс ServiceLocator_Interface можно конкрети ...
  Topic: "Запрос" к XML файлу на XSLT
amikhailov

Replies: 1
Views: 2506

PostForum: Разное :: PHP   Posted: Mon Feb 25, 2008 10:42 am   Subject: "Запрос" к XML файлу на XSLT
Попробуйте XPath
  Topic: Время жизни temp файла
amikhailov

Replies: 6
Views: 8039

PostForum: Разное :: PHP   Posted: Mon Feb 18, 2008 4:13 pm   Subject: Время жизни temp файла
Можно создать свою временную папку и в нее заливать файлы. При сохранении пользователем контента, файлы перемещаются в постоянное хранилище.
Чтобы удалять из временной папки ненужные файлы, можно запускать по расписанию программу, которая будет просматривать временную папку и удалять оттуда файлы, лежащие там больше 4-х часов.
  Topic: наследование
amikhailov

Replies: 7
Views: 6608

PostForum: Разное :: PHP   Posted: Sun Feb 03, 2008 5:23 pm   Subject: наследование
Maus
offtopic: ваше сообщение имеет порядковый номер 150000 ) с чем и поздравляю!
  Topic: наследование
amikhailov

Replies: 7
Views: 6608

PostForum: Разное :: PHP   Posted: Fri Feb 01, 2008 9:11 am   Subject: наследование
dimagolov
Такой функционал, например, может потребоваться для вывода некоей отладочной информации
  Topic: наследование
amikhailov

Replies: 7
Views: 6608

PostForum: Разное :: PHP   Posted: Thu Jan 31, 2008 5:01 pm   Subject: наследование
get_class ($this) попробуйте
  Topic: Проблема с получение данных из хранимой процедуры
amikhailov

Replies: 1
Views: 6938

PostForum: SQL и PHP :: SQL   Posted: Thu Jan 17, 2008 1:38 pm   Subject: Проблема с получение данных из хранимой процедуры
Процедуры не возвращают ничего. Попробуйте функции (CREATE FUNCTION). О функциях читайте в документации на dev.mysql.com
  Topic: получения результата SQL-запроса генерируемого хранимой процедурой
amikhailov

Replies: 2
Views: 7882

PostForum: SQL и PHP :: SQL   Posted: Mon Jun 25, 2007 9:56 am   Subject: получения результата SQL-запроса генерируемого хранимой процедурой
Насколько я знаю, процедура не возвращает какого-то осмысленного результата. Этим занимаются функции.
  Topic: SQL запрос для ламера.
amikhailov

Replies: 10
Views: 14573

PostForum: SQL и PHP :: SQL   Posted: Mon Jun 25, 2007 9:53 am   Subject: SQL запрос для ламера.
$request = "SELECT 'post_title' , 'post_content' , 'post_date_gmt' FROM 'wp_posts' ORDER BY 'post_date_gmt' DESC LIMIT 10";

Вы не те кавычки используете. Надо не ', а `
Ну и, как уже сказали выше, для получения значений из mysql_result используйте mysql_fetch_array / mysql_fetch_assoc / mysql_fetch_row
  Topic: Установка библиотеки pspell
amikhailov

Replies: 1
Views: 3515

PostForum: Разное :: PHP   Posted: Mon Jun 25, 2007 9:04 am   Subject: Установка библиотеки pspell
pspell вроде pecl-расширение?
  Topic: Censure: определение наличия мата (нецензурных слов) в тексте, матотест
amikhailov

Replies: 45
Views: 126229

PostForum: Склад готовых решений :: PHP   Posted: Thu Jun 21, 2007 2:14 pm   Subject: Censure: определение наличия мата (нецензурных слов) в тексте, матотест
#вырезаем все лишнее
#скрипты не вырезаем, т.к. м.б. обходной маневр на с кодом на javascript:
#<script>document.write('сло'+'во')</script>
#хотя давать пользователю возможность использовать код на javascript нехорошо
if (! function_exists('strip_tags_smart')) #оптимизация скорости include_once
{
include_once 'strip_tags_smart.php';
}
$s = strip_tags_smart($s, true, true, array('comment', 'style', 'map', 'frameset', 'object', 'applet'));

if (! function_exists('utf8_html_entity_decode')) #оптимизация скорости include_once
{
include_once 'utf8_html_entity_decode.php';
}

Для порядку бы тогда уж и strip_tags_smart.php + utf8_html_entity_decode.php в архив вложили бы
  Topic: Ошибка 413 при upload
amikhailov

Replies: 8
Views: 6516

PostForum: Разное :: PHP   Posted: Fri Jun 08, 2007 3:01 pm   Subject: Ошибка 413 при upload
А прокси, файрвол по пути к серверу есть?
  Topic: Ошибка 413 при upload
amikhailov

Replies: 8
Views: 6516

PostForum: Разное :: PHP   Posted: Fri Jun 08, 2007 2:45 pm   Subject: Ошибка 413 при upload
В php.ini включена директива?
file_uploads = On
  Topic: Вывод данных из фала
amikhailov

Replies: 11
Views: 7307

PostForum: Разное :: PHP   Posted: Thu Apr 19, 2007 7:42 am   Subject: Вывод данных из фала
как заменить все переносы строк на <br>

Зачем изобретать велосипед? Есть же функция, специально для этого придуманная. http://php.net/nl2br
  Topic: Скрин сайта
amikhailov

Replies: 12
Views: 6655

PostForum: Разное :: PHP   Posted: Thu Mar 22, 2007 1:36 pm   Subject: Скрин сайта
drinkins
http://www.pixel-technology.com/freeware/url2bmp/english/cl.html
Запускайте прогу из php. Синтаксис командной строки см. по ссылке.
  Topic: Скрин сайта
amikhailov

Replies: 12
Views: 6655

PostForum: Разное :: PHP   Posted: Wed Mar 21, 2007 12:20 pm   Subject: Скрин сайта
WingedFox
Не спорю =)
Но зачем усложнять себе жизнь?
  Topic: Скрин сайта
amikhailov

Replies: 12
Views: 6655

PostForum: Разное :: PHP   Posted: Wed Mar 21, 2007 9:14 am   Subject: Скрин сайта
Т.е. одним php это не сделать, так?

Вряд ли. Сильно вряд ли.
  Topic: Скрин сайта
amikhailov

Replies: 12
Views: 6655

PostForum: Разное :: PHP   Posted: Wed Mar 21, 2007 9:13 am   Subject: Скрин сайта
WingedFox, ну зачем так сложно?
Есть же уже написаныее утилиты, которые этим занимаются ) Под Windows я знаю одну: url2bmp (вроде так звучит). Под другие ОС не искал.
  Topic: Вывод PHP в Word и/или Excel
amikhailov

Replies: 5
Views: 16834

PostForum: Разное :: PHP   Posted: Thu Feb 22, 2007 3:21 pm   Subject: Вывод PHP в Word и/или Excel
Podlipki
Про Word: если php выполняется под Windows, то используйте COM-объекты, если под Linux, то поищите на phpclasses.org что-то навроде "rtfwriter", но могут возникнуть проблемы с кириллицей.
Про Excel: уже указан Spreadsheet_Excel_Writer

И еще: помещение этого топика в форум "Склад готовых решений" не является "легитимным". Прочитайте правила этого форума.
  Topic: Видео с вебкамеры онлайн
amikhailov

Replies: 1
Views: 3058

PostForum: Разное :: PHP   Posted: Fri Feb 09, 2007 8:23 am   Subject: Видео с вебкамеры онлайн
Как вариант - веб-камера каждые 2-3 секунды генерит картинку и кладет ее на сервер. А вы в браузере делаете ее автообновление. С помощью JS, либо через meta-заголовки.
  Topic: php and javascript
amikhailov

Replies: 11
Views: 5844

PostForum: Прочее   Posted: Sat Dec 23, 2006 3:10 pm   Subject: php and javascript
Zeroglif
А-а ) Ну слава богу! Я-то уж думал, что вы вообще против любого использования eval )
  Topic: php and javascript
amikhailov

Replies: 11
Views: 5844

PostForum: Прочее   Posted: Sat Dec 23, 2006 12:43 pm   Subject: php and javascript
eval
А это-то чем вам не понравилось? ))
  Topic: Как заставить работать com на php под IIS
amikhailov

Replies: 4
Views: 3414

PostForum: Разное :: PHP   Posted: Fri Dec 15, 2006 8:52 am   Subject: Как заставить работать com на php под IIS
Почитайте здесь http://ru.php.net/com
Может что-то найдете полезное. А еще поищите мануал по объектам Word.Application и Excel.Application
  Topic: Как заставить работать com на php под IIS
amikhailov

Replies: 4
Views: 3414

PostForum: Разное :: PHP   Posted: Thu Dec 14, 2006 8:37 am   Subject: Как заставить работать com на php под IIS
А если так попробовать?
$ex = new COM("Excel.sheet") or Die ("Did not connect");
$ex->Application->Visible = 1;
$wkb = $ex->Application->Workbooks->Add( );
$sheet = 1;

excel_write_cell(&$wkb, $sheet, "A1", "Hello, World");

// write a value to a particular cell
function excel_write_cell(&$wkb,$sheet,$c,$v) {
$sheets = $wkb->Worksheets($sheet);
$sheets->activate;
$selcell = $sheets->Range($c);
$selcell->activate;
$selcell->value = $v;
}
  Topic: Объединение трех таблиц - иногда выдает нуль строк
amikhailov

Replies: 3
Views: 6274

PostForum: Общие вопросы :: SQL   Posted: Tue Dec 12, 2006 11:30 am   Subject: Объединение трех таблиц - иногда выдает нуль строк
Попробуйте использовать LEFT OUTER JOIN
  Topic: Таблица в таблице
amikhailov

Replies: 8
Views: 14050

PostForum: SQL и PHP :: SQL   Posted: Tue Dec 12, 2006 11:16 am   Subject: Таблица в таблице
"]А что, есть СУБД, поддерживающие вложенные таблицы? Вопреки реляционной модели? хм... забавно...
В PostgreSQL есть массивы.
  Topic: Подскажите PHP класс
amikhailov

Replies: 2
Views: 3404

PostForum: Разное :: PHP   Posted: Fri Dec 01, 2006 9:05 am   Subject: Подскажите PHP класс
sanekz
Или в гугл по запросу "htcron"
  Topic: Дерево для CMS
amikhailov

Replies: 10
Views: 16497

PostForum: SQL и PHP :: SQL   Posted: Tue Nov 28, 2006 7:55 am   Subject: Дерево для CMS
Maximark
Почитайте вот это http://web-notes.ru/articles/nested-sets/
  Topic: Ищется система постановки и контроля задач
amikhailov

Replies: 3
Views: 4814

PostForum: Прочее   Posted: Mon Nov 27, 2006 11:22 am   Subject: Ищется система постановки и контроля задач
Вариант попроще и к тому же бесплатный - Mantis Bugtracker (http://www.mantisbt.org)
  Topic: Ищется система постановки и контроля задач
amikhailov

Replies: 3
Views: 4814

PostForum: Прочее   Posted: Mon Nov 27, 2006 7:45 am   Subject: Ищется система постановки и контроля задач
[url=http://www.atlassian.com/software/jira/]JIRA
  Topic: GZIP. Можно ли снизить нагрузку на сервер?
amikhailov

Replies: 6
Views: 5572

PostForum: Разное :: PHP   Posted: Sun Nov 26, 2006 2:54 pm   Subject: GZIP. Можно ли снизить нагрузку на сервер?
Maus
Если собирать статистику, то надо считать пары "белый IP" + "серый IP"
  Topic: Дерево для CMS
amikhailov

Replies: 10
Views: 16497

PostForum: SQL и PHP :: SQL   Posted: Sun Nov 26, 2006 2:51 pm   Subject: Дерево для CMS
Не знаю, откуда у вас такая информация.
  Topic: Дерево для CMS
amikhailov

Replies: 10
Views: 16497

PostForum: SQL и PHP :: SQL   Posted: Fri Nov 24, 2006 4:14 pm   Subject: Дерево для CMS
Неуниверсальный подход какой-то... Лучше уж комбинировать nested sets, и id/parent_id, имхо. Пересчет дерева nested sets - несложная задача и об этом много где написано. Поищите гуглом/яндексом. Получите хорошее быстродействие
  Topic: Проектирование скрипта каталога
amikhailov

Replies: 4
Views: 3857

PostForum: Разное :: PHP   Posted: Fri Nov 24, 2006 3:58 pm   Subject: Проектирование скрипта каталога
А вы начните со спецификации каждого класса. Какой абстрактный тип данных класс являет собой, какие методы необходимы классу и т.д. Подумайте, может быть какие-то классы будут наследовать одного предка.
Задача очень абстрактная, мало входных данных. Поэтому трудно что-то конкретное посоветовать.
  Topic: Что работает быстрее: 4 или 5 PHP ???
amikhailov

Replies: 6
Views: 4953

PostForum: Разное :: PHP   Posted: Fri Nov 24, 2006 3:34 pm   Subject: Что работает быстрее: 4 или 5 PHP ???
В версии 5.2 улучшили менеджер памяти
  Topic: Дерево для CMS
amikhailov

Replies: 10
Views: 16497

PostForum: SQL и PHP :: SQL   Posted: Fri Nov 24, 2006 3:30 pm   Subject: Дерево для CMS
А вы попробуйте завести еще одну колонку, в которой указывался бы порядок вывода общего дерева. `order_total` например. И еще `depth` - глубина вложенности.

Тогда будет выводить совсем просто:
SELECT * FROM yourtable ORDER BY total_order ASC LIMIT 5

При изменении таблицы рассчитывать этот самый `total_order` не так уж сложно.

Если бы СУБД была не mysql, а oracle, то этого бы не потребовалось - там есть механизм обхода иерархических структур. Но я так смекаю, что используется именно mysql
  Topic: GZIP. Можно ли снизить нагрузку на сервер?
amikhailov

Replies: 6
Views: 5572

PostForum: Разное :: PHP   Posted: Fri Nov 24, 2006 3:16 pm   Subject: GZIP. Можно ли снизить нагрузку на сервер?
Хм. Вы не учли, что многие ходят через прокси-серверы. А далеко не все прокси-серверы поддерживают gzip. Так что не думаю, что предложенный способ целесообразен.
  Topic: Редирект
amikhailov

Replies: 9
Views: 5761

PostForum: Разное :: PHP   Posted: Tue Nov 14, 2006 1:02 pm   Subject: Редирект
В IE можно запретить meta-обновление страниц и тогда Ваш нынешний способ редиректа работать не будет. Самое лучшее, на мой взгляд, что можно сделать - это буферизация вывода. По опыту сужу, что не сильно все это тормозит.
 
Page 1 of 5 All times are GMT + 3 Hours
Goto page 1, 2, 3, 4, 5  Next
XML